package com.woniuxy.controller;

import com.woniuxy.dto.Page;
import com.woniuxy.dto.GoodsDto;
import com.woniuxy.entity.Goods;
import com.woniuxy.service.GoodsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

/**
 * @Author: ideaAdmin
 * TODO:
 * Date: 2022/2/9:19:49
 * Description:
 */
@Controller
@RequestMapping("/goods")
public class GoodsController {
    @Autowired
    private  GoodsService goodsService;

    //分页查询
    @RequestMapping("/pages")
    @ResponseBody
    private Page doPages(GoodsDto goodsDto) {
        System.out.println("goodsDto:" + goodsDto);
        if(goodsDto.getBookname() !=null) {
            goodsDto.setBookname("%" + goodsDto.getBookname() + "%");
        }

        Page<List<Goods>> page = goodsService.findByPage(Integer.parseInt(goodsDto.getPageNum()), Integer.parseInt(goodsDto.getPageSize()),
                goodsDto.getCategoryId(),goodsDto.getBookname());

        return page;
    }
}



//
//    private void hotShoop(HttpServletRequest request, HttpServletResponse response) {
//        //1.取得前面需要热卖的商品数量
//        int nums = Integer.parseInt(request.getParameter("nums"));
//        LOGGER.debug("被访问了");
//        //2.调用方法取得需要的商品
//        GoodsService goodsService = getGoodsService();
//        List<HotGoodsDto> hotGoodsDtos = goodsService.findByHot(nums);
//
//        //3.返回数据
//        ServletUtil.setResponseResult(200, ResponseStatus.SELECT_SUCCESS, "获得热卖商品", hotGoodsDtos);
//        ServletUtil.sendResponse(response, ServletUtil.json);
//
//    }
//    //通过商品id查询商品
//    private void findById(HttpServletRequest request, HttpServletResponse response) throws IOException {
//        //1.得到商品id
//        int goodsId = Integer.parseInt(request.getParameter("goodsId"));
//
//        //2.设置响应头
//        response.setContentType("application/json;charset=utf-8");
//
//        //3.调用方法并返回数据
//        GoodsService goodsService = getGoodsService();
//
//        response.getWriter().write(JSON.toJSONString(goodsService.findById(goodsId)));
//
//    }
//
//    //分页查询
//    private void doPages(HttpServletRequest request, HttpServletResponse response)
//    {
//        // 浏览器提交的数据都是以字符串的形式提交 所有得到的参数都是字符串类型
//        String categoryId = request.getParameter("categoryId");
//        String bookname =request.getParameter("bookname");
//        if(bookname !=null) {
//            bookname= "%" + bookname + "%";
//        }
//
//        //1.获得前台需要的分页数据
//        int pageNum = Integer.parseInt(request.getParameter("pageNum"));
//        int pageSize = Integer.parseInt(request.getParameter("pageSize"));
//
//        // 调用service层代码 得到数据
//        GoodsService goodsService = getGoodsService();
//
//        Page<List<Goods>> page = goodsService.findByPage(pageNum, pageSize,categoryId,bookname);
//
//        // 将数据转换成JSON格式的字符串:fastjson、Jackson
//        String data = JSON.toJSONString(page);
//
//        // 因为response默认返回的是 text/hmtl 格式的页面,如果要返回JSON数据,就必须设置响应头
//        // 将setContentType头设置成application/json,
//        // 如果返回的数据中存在中文,那么需要设置字符编码,否则就是乱码
//        response.setContentType("application/json;charset=utf-8");
//
//        // 返回数据给浏览器
//        try {
//            response.getWriter().write(data);
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//    }
//
//    protected void doPost(HttpServletRequest request, HttpServletResponse response)
//            throws ServletException, IOException {
//        doGet(request, response);
//    }
//
//}

